package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 专利管理对象 data_patent
 * 
 * @author ruoyi
 * @date 2024-11-13
 */
public class DataPatent extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 专利主键 */
    private Long patentId;

    /** 专利号 */
    @Excel(name = "专利号")
    private String patentNumber;

    /** 申请号 */
    @Excel(name = "申请号")
    private String applicationNumber;

    /** 专利证书图 */
    @Excel(name = "专利证书图")
    private String applicationImage;

    /** 申请日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "申请日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date applicationDate;

    /** 公布日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "公布日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date publicationDate;

    /** 发明名称 */
    @Excel(name = "发明名称")
    private String inventionTitle;

    /** 专利摘要 */
    @Excel(name = "专利摘要")
    private String patentAbstract;

    /** 专利发明人 */
    @Excel(name = "专利发明人")
    private String inventors;

    /** 专利申请人 */
    @Excel(name = "专利申请人")
    private String applicants;

    public void setPatentId(Long patentId) 
    {
        this.patentId = patentId;
    }

    public Long getPatentId() 
    {
        return patentId;
    }
    public void setPatentNumber(String patentNumber) 
    {
        this.patentNumber = patentNumber;
    }

    public String getPatentNumber() 
    {
        return patentNumber;
    }
    public void setApplicationNumber(String applicationNumber) 
    {
        this.applicationNumber = applicationNumber;
    }

    public String getApplicationNumber() 
    {
        return applicationNumber;
    }
    public void setApplicationImage(String applicationImage) 
    {
        this.applicationImage = applicationImage;
    }

    public String getApplicationImage() 
    {
        return applicationImage;
    }
    public void setApplicationDate(Date applicationDate) 
    {
        this.applicationDate = applicationDate;
    }

    public Date getApplicationDate() 
    {
        return applicationDate;
    }
    public void setPublicationDate(Date publicationDate) 
    {
        this.publicationDate = publicationDate;
    }

    public Date getPublicationDate() 
    {
        return publicationDate;
    }
    public void setInventionTitle(String inventionTitle) 
    {
        this.inventionTitle = inventionTitle;
    }

    public String getInventionTitle() 
    {
        return inventionTitle;
    }
    public void setPatentAbstract(String patentAbstract) 
    {
        this.patentAbstract = patentAbstract;
    }

    public String getPatentAbstract() 
    {
        return patentAbstract;
    }
    public void setInventors(String inventors) 
    {
        this.inventors = inventors;
    }

    public String getInventors() 
    {
        return inventors;
    }
    public void setApplicants(String applicants) 
    {
        this.applicants = applicants;
    }

    public String getApplicants() 
    {
        return applicants;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("patentId", getPatentId())
            .append("patentNumber", getPatentNumber())
            .append("applicationNumber", getApplicationNumber())
            .append("applicationImage", getApplicationImage())
            .append("applicationDate", getApplicationDate())
            .append("publicationDate", getPublicationDate())
            .append("inventionTitle", getInventionTitle())
            .append("patentAbstract", getPatentAbstract())
            .append("inventors", getInventors())
            .append("applicants", getApplicants())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
